#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N=1e5+10;
#define INF 0x7fffffff
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//
int n;
int a[N];
void solve()
{
	sd(n);
	int negitive_num=0;
	for(int i=1;i<=n;i++)
	{
		sd(a[i]);
		if(a[i]<0) negitive_num++;
	}
	for(int i=1;i<=n;i++)
	{
		if(i<=negitive_num) a[i]=-abs(a[i]);
		else a[i]=abs(a[i]);
	}
	if(is_sorted(a+1,a+1+n)) puts("YES");
	else puts("NO");

	//sort(a+1,a+1+n);
	
}

int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}
//给定一个由n个整数a1,a2，…，an组成的数组，其中ai≠0
//,检查是否可以使用以下操作对该数组进行任意次排序(可能为0)。
//如果数组的元素按非递减顺序排列，则数组是有序的。